home *** CD-ROM | disk | FTP | other *** search
- /*
- **
- ** Copyright © 1997-1999 Dipl.-Inform. Kai Hofmann. All rights reserved.
- **
- ** $VER: DateLib-Demo.rexx 33.310 (16.06.99)
- */
-
- OPTIONS RESULTS
- SIGNAL ON SYNTAX
-
- CALL DATE_INIT
- IF RESULT ~= 0 THEN DO
- EXIT 10
- END
-
- /* EXAMPLE CODE FOR TIME_ FUNCTIONS */
- SAY TIME_TIMETOJD(22,48,0)
- SAY TIME_TIMEZONEFACTOR(8)
- SAY TIME_LMT(3600,8,53)
- SAY TIME_TIMETOSEC(22,48,0)
- SAY TIME_COMPARE2TIMES(22,48,0,22,49,0)
- SAY TIME_VALIDTIME(22,49,0)
- SAY TIME_TIMEDIFF(22,49,0,23,0,0)
- SAY TIME_TIMETONUM(15,5,0)
-
- /* THE FOLLOWING FUNCTIONS HAVE THREE RETURN PARAMETERS! */
- /* THE FIRST FORM RETURNS ALL WITHIN A STRING (IS8601 FORMAT) */
- SAY TIME_JDTOTIME(0.45)
- SAY TIME_SECTOTIME(82200)
- SAY TIME_DIFFTIME(22,51,0,3600)
- SAY TIME_NUMTOTIME(150500)
-
- /* THE SECOND FORM DOES THE SAME THAN THE FIRST ONE BUT YOU ALSO
- SPECIFY VARIABLE NAMES FOR THE hour,min,sec */
- SAY TIME_JDTOTIME(0.45,'HOUR MIN SEC')
- SAY HOUR || ":" || MIN || ":" || SEC
- SAY TIME_SECTOTIME(82200,'HOUR MIN SEC')
- SAY HOUR || ":" || MIN || ":" || SEC
- SAY TIME_DIFFTIME(22,51,0,3600,'HOUR MIN SEC')
- SAY HOUR || ":" || MIN || ":" || SEC
- SAY TIME_NUMTOTIME(150600,'HOUR MIN SEC')
- SAY HOUR || ":" || MIN || ":" || SEC
-
- /* */
- SAY TIME_FORMATTIME("%H:%M:%S",TIME_CHANGEDAY_NORMAL,2,0,19,41,0,+60)
- SAY TIME_FORMATTIME("%H:%M:%S",TIME_CHANGEDAY_NORMAL,2,0,19,41,0,+60,'TEXT')
- SAY TEXT
-
- /* (Format template)
- (Input string)
- (ChangeDay)
- (ChangeHour)
- (DST)
- (zonemin)
- */
- SAY TIME_PARSETIME("%H:%M:%S","17:06:00",TIME_CHANGEDAY_NORMAL,2,1,120);
- /* pos:dst:hour:min:sec:zomemin:pfmt */
-
- SAY TIME_PARSETIME("%H:%M:%S","17:26:00",TIME_CHANGEDAY_NORMAL,2,1,120,'DST HOUR MIN SEC ZONEMIN PFMT');
- SAY HOUR || ":" || MIN || ":" || SEC ZONEMIN DST PFMT
-
- SAY "------------------------------------------------------------"
-
- /* EXAMPLE CODE FOR DATE_ FUNCTIONS */
- SAY DATE_JULIANLEAPYEAR(1900)
- SAY DATE_GREGORIANLEAPYEAR(1900)
- SAY DATE_HEISLEAPYEAR(1900)
- SAY DATE_JULIANMONTHDAYS(8,1996)
- SAY DATE_GREGORIANMONTHDAYS(8,1996)
- SAY DATE_HEISMONTHDAYS(8,1996)
- SAY DATE_JULIANLASTMONTHDAY(8,1996)
- SAY DATE_GREGORIANLASTMONTHDAY(8,1996)
- SAY DATE_HEISLASTMONTHDAY(8,1996)
- SAY DATE_JULIANYEARDAYS(1996)
- SAY DATE_GREGORIANYEARDAYS(1996)
- SAY DATE_HEISYEARDAYS(1996)
- SAY DATE_COMPARE2DATES(20,8,1996,11,9,1996)
- SAY DATE_JULIANDAYDIFF(20,8,1996,11,9,1996)
- SAY DATE_GREGORIANDAYDIFF(20,8,1996,11,9,1996)
- SAY DATE_HEISDAYDIFF(20,8,1996,11,9,1996)
-
- /* RESULT: 0=dayerr,1=Monday,2=Tuesday,3=Wednesday,4=Thursday,5=Friday,
- 6=Saturday,7=Sunday */
- SAY DATE_JULIANWEEKDAY(20,8,1996)
- SAY DATE_GREGORIANWEEKDAY(20,8,1996)
- SAY DATE_HEISWEEKDAY(20,8,1996)
-
- /* THE LAST PARAMETER IS THE WEEKDAY */
- SAY DATE_JULIANDAYSBEFOREWEEKDAY(20,8,1996,DATE_WEEKDAYS_MONDAY)
- SAY DATE_GREGORIANDAYSBEFOREWEEKDAY(20,8,1996,DATE_WEEKDAYS_MONDAY)
- SAY DATE_HEISDAYSBEFOREWEEKDAY(20,8,1996,DATE_WEEKDAYS_MONDAY)
- SAY DATE_JULIANDAYSAFTERWEEKDAY(20,8,1996,DATE_WEEKDAYS_MONDAY)
- SAY DATE_GREGORIANDAYSAFTERWEEKDAY(20,8,1996,DATE_WEEKDAYS_MONDAY)
- SAY DATE_HEISDAYSAFTERWEEKDAY(20,8,1996,DATE_WEEKDAYS_MONDAY)
-
- SAY DATE_JYEARTOSCALIGER(1996)
- SAY DATE_GYEARTOSCALIGER(1996)
- SAY DATE_HYEARTOSCALIGER(1996)
- SAY DATE_SCALIGERYEARTOJ(6709)
- SAY DATE_SCALIGERYEARTOG(6709)
- SAY DATE_SCALIGERYEARTOH(6709)
- SAY DATE_JSYEARTOJD(6709)
- SAY DATE_GSYEARTOJD(6709)
- SAY DATE_HSYEARTOJD(6709)
- SAY DATE_JDTOMJD(2450084)
- SAY DATE_MJDTOJD(50083)
- SAY DATE_JULIANTOJD(20,8,1996)
- SAY DATE_GREGORIANTOJD(20,8,1996)
- SAY DATE_HEISTOJD(20,8,1996)
- SAY DATE_GREGORIANMOONAGE(20,8,1996)
- SAY DATE_JULIANWEEK(20,8,1996)
- SAY DATE_GREGORIANWEEK(20,8,1996)
- SAY DATE_HEISWEEK(20,8,1996)
-
- /* FIRST PARAMETER : (DateText)
- SECOND PARAMETER: (Language)
- THIRD PARAMETER : (WordClass)
- */
- SAY DATE_DATETEXT(DATE_DATETEXTS_DAY,DATE_LANGUAGES_LOCALE,DATE_WORDCLASS_SINGULAR)
-
- /*
- FOURTH PARAMETER: (MoonPhase)
- */
- SAY DATE_GREGORIANMOONPHASE(20,8,1996,DATE_MOONPHASES_NEWMOON)
-
- SAY DATE_VALIDJULIANDATE(20,8,1996)
- SAY DATE_VALIDGREGORIANDATE(20,8,1996)
- SAY DATE_VALIDHEISDATE(20,8,1996)
-
- SAY DATE_NEXTVALIDJULIANDATE(29,2,1997)
- SAY DATE_NEXTVALIDGREGORIANDATE(29,2,1997)
- SAY DATE_NEXTVALIDHEISDATE(29,2,1997)
-
- SAY DATE_PREVIOUSVALIDJULIANDATE(29,2,1997)
- SAY DATE_PREVIOUSVALIDGREGORIANDATE(29,2,1997)
- SAY DATE_PREVIOUSVALIDHEISDATE(29,2,1997)
-
- SAY DATE_NEXTVALIDJULIANDATE(29,2,1997,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
- SAY DATE_NEXTVALIDGREGORIANDATE(29,2,1997,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
- SAY DATE_NEXTVALIDHEISDATE(29,2,1997,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
-
- SAY DATE_PREVIOUSVALIDJULIANDATE(29,2,1997,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
- SAY DATE_PREVIOUSVALIDGREGORIANDATE(29,2,1997,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
- SAY DATE_PREVIOUSVALIDHEISDATE(29,2,1997,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
-
- /*
- PARAMETER: (Country)
- */
- CALL DATE_SETCOUNTRY(DATE_COUNTRIES_UNKNOWN)
-
- /*
- PARAMETER: (Weekday)
- */
- CALL DATE_SETFIRSTWEEKDAY(DATE_WEEKDAYS_MONDAY)
-
- /*
- FIRST PARAMETER : 2 DIGIT YEAR
- SECOND PARAMETER: ACTUAL YEAR
- */
- SAY DATE_SUPPLEMENTCENTURY(0,1996)
-
- /* THE FOLLOWING FUNCTIONS HAVE TWO RETURN PARAMETERS! */
- /* THE FIRST FORM RETURNS ALL WITHIN A STRING (IS8601 FORMAT) */
- SAY DATE_JULIANEASTER(1996)
- SAY DATE_GREGORIANEASTER(1996)
- SAY DATE_HEISEASTER(1996)
-
- /* THE SECOND FORM DOES THE SAME THAN THE FIRST ONE BUT YOU ALSO
- SPECIFY VARIABLE NAMES FOR THE day,month */
- SAY DATE_JULIANEASTER(1996,'DAY MONTH')
- SAY DAY || "." || MONTH || "."
- SAY DATE_GREGORIANEASTER(1996,'DAY MONTH')
- SAY DAY || "." || MONTH || "."
- SAY DATE_HEISEASTER(1996,'DAY MONTH')
- SAY DAY || "." || MONTH || "."
-
-
- /* THE FOLLOWING FUNCTIONS HAVE THREE RETURN PARAMETERS! */
- /* THE FIRST FORM RETURNS ALL WITHIN A STRING (IS8601 FORMAT) */
- SAY DATE_JDTOJULIAN(2450084)
- SAY DATE_JDTOGREGORIAN(2450084)
- SAY DATE_JDTOHEIS(2450084)
-
- /* THE SECOND FORM DOES THE SAME THAN THE FIRST ONE BUT YOU ALSO
- SPECIFY VARIABLE NAMES FOR THE day,month,year */
- SAY DATE_JDTOJULIAN(2450084,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
- SAY DATE_JDTOGREGORIAN(2450084,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
- SAY DATE_JDTOHEIS(2450084,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
-
- /* THE FOLLOWING FUNCTIONS HAVE THREE RETURN PARAMETERS! */
- /* THE FIRST FORM RETURNS ALL WITHIN A STRING (IS8601 FORMAT) */
- /* THE FIRST PARAMETER IS THE WEEKDAY
- 1=Monday,2=Tuesday,3=Wednesday,4=Thursday,5=Friday,6=Saturday,7=Sunday
- FOLLOWED BY THE WEEK
- */
- SAY DATE_JULIANWWTODM(DATE_WEEKDAYS_SUNDAY,16,1997)
- SAY DATE_GREGORIANWWTODM(DATE_WEEKDAYS_SUNDAY,16,1997)
- SAY DATE_HEISWWTODM(DATE_WEEKDAYS_SUNDAY,16,1997)
-
- /* THE SECOND FORM DOES THE SAME THAN THE FIRST ONE BUT YOU ALSO
- SPECIFY VARIABLE NAMES FOR THE day,month,year */
- SAY DATE_JULIANWWTODM(DATE_WEEKDAYS_SUNDAY,16,1997,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
- SAY DATE_GREGORIANWWTODM(DATE_WEEKDAYS_SUNDAY,16,1997,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
- SAY DATE_HEISWWTODM(DATE_WEEKDAYS_SUNDAY,16,1997,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
-
- /* THE FOLLOWING FUNCTIONS HAVE ONE OR TWO RETURN PARAMETERS! */
- /* THE FIRST FORM RETURNS ONLY THE TEXT STRING */
- /* (Weekday)
- (Language)
- */
- SAY DATE_WEEKDAYTEXT(DATE_WEEKDAYS_MONDAY,DATE_LANGUAGES_LOCALE)
- SAY DATE_WEEKDAYSHORTTEXT(DATE_WEEKDAYS_MONDAY,DATE_LANGUAGES_LOCALE)
-
- /* (Month) 1-12
- (Language)
- */
- SAY DATE_MONTHTEXT(8,DATE_LANGUAGES_LOCALE)
- SAY DATE_MONTHSHORTTEXT(8,DATE_LANGUAGES_LOCALE)
-
- /* THE SECOND FORM DOES THE SAME THAN THE FIRST ONE BUT YOU ALSO
- SPECIFY VARIABLE NAMES FOR THE maxlen,text */
- /* (Weekday)
- (Language)
- */
- SAY DATE_WEEKDAYTEXT(DATE_WEEKDAYS_MONDAY,DATE_LANGUAGES_LOCALE,'MAXLEN TEXT')
- SAY MAXLEN || ":" || TEXT
- SAY DATE_WEEKDAYSHORTTEXT(DATE_WEEKDAYS_MONDAY,DATE_LANGUAGES_LOCALE,'MAXLEN TEXT')
- SAY MAXLEN || ":" || TEXT
-
- /* (Month)
- (Language)
- */
- SAY DATE_MONTHTEXT(8,DATE_LANGUAGES_LOCALE,'MAXLEN TEXT')
- SAY MAXLEN || ":" || TEXT
- SAY DATE_MONTHSHORTTEXT(8,DATE_LANGUAGES_LOCALE,'MAXLEN TEXT')
- SAY MAXLEN || ":" || TEXT
-
- /* (Format template)
- (Day)
- (Month)
- (Year)
- (Language) 0=Locale,1=ENGLISH,2=DEUTSCH,3=FRANCAIS,4=ESPANOL,5=PORTUGUES,
- 6=DANSK,7=ITALIANO,8=NEDERLANDS,9=NORSK,10=SVENSKA,11=POLSKI,
- 12=SUOMI,13=MAGYAR,14=GREEK,15=ESPERANTO,16=TURKCE,17=LATINA,
- 18=RUSSIAN, 19=Czech, 20=Catalonian
- */
- SAY DATE_FORMATDATE("%Y-%m-%d",10,3,1997,DATE_LANGUAGES_LOCALE)
- SAY DATE_FORMATDATE("%Y-%m-%d",10,3,1997,DATE_LANGUAGES_LOCALE,'TEXT')
- SAY TEXT
-
-
- SAY DATE_DATETONUM(28,6,1997)
-
- /* THE FOLLOWING FUNCTIONS HAVE THREE RETURN PARAMETERS! */
- /* THE FIRST FORM RETURNS ALL WITHIN A STRING (IS8601 FORMAT) */
- SAY DATE_NUMTODATE(19970628)
-
- /* THE SECOND FORM DOES THE SAME THAN THE FIRST ONE BUT YOU ALSO
- SPECIFY VARIABLE NAMES FOR THE day,month,year */
- SAY DATE_NUMTODATE(19970628,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
-
- /* (Format template)
- (Input String)
- (Language)
- (Calendars)
- (Actual JD)
- */
- SAY DATE_PARSEDATE("%Y-%m-%d","1997-06-28",DATE_LANGUAGES_LOCALE,DATE_CALENDARS_HEIS,2450809)
- /* pos:y-m-d:pfmt:plang */
- SAY DATE_PARSEDATE("%Y-%m-%d","1997-06-28",DATE_LANGUAGES_LOCALE,DATE_CALENDARS_HEIS,2450809,'DAY MONTH YEAR PFMT PLANG')
- SAY DAY || "." || MONTH || "." || YEAR PFMT PLANG
-
- /* THE FOLLOWING FUNCTIONS HAVE THREE RETURN PARAMETERS! */
- /* THE FIRST FORM RETURNS ALL WITHIN A STRING (IS8601 FORMAT) */
- SAY DATE_JULIANDIFFDATERANGE(23,1,1998,0,0,1)
- SAY DATE_GREGORIANDIFFDATERANGE(23,1,1998,0,0,1)
- SAY DATE_HEISDIFFDATERANGE(23,1,1998,0,0,1)
-
- /* THE SECOND FORM DOES THE SAME THAN THE FIRST ONE BUT YOU ALSO
- SPECIFY VARIABLE NAMES FOR THE day,month,year */
- SAY DATE_JULIANDIFFDATERANGE(23,1,1998,0,0,1,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
- SAY DATE_GREGORIANDIFFDATERANGE(23,1,1998,0,0,1,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
- SAY DATE_HEISDIFFDATERANGE(23,1,1998,0,0,1,'DAY MONTH YEAR')
- SAY DAY || "." || MONTH || "." || YEAR
-
- /* THE FOLLOWING FUNCTIONS HAVE THREE RETURN PARAMETERS! */
- /* THE FIRST FORM RETURNS ALL WITHIN A STRING (IS8601 FORMAT) */
- SAY DATE_JULIANRANGEDIFF(1,1,1998,23,1,1998)
- SAY DATE_GREGORIANRANGEDIFF(1,1,1998,23,1,1998)
- SAY DATE_HEISRANGEDIFF(1,1,1998,23,1,1998)
-
- /* THE SECOND FORM DOES THE SAME THAN THE FIRST ONE BUT YOU ALSO
- SPECIFY VARIABLE NAMES FOR THE days,months,years */
- SAY DATE_JULIANRANGEDIFF(1,1,1998,23,1,1998,'DAYS MONTHS YEARS')
- SAY YEARS || "Y" MONTHS || "M" DAYS || "D"
- SAY DATE_GREGORIANRANGEDIFF(1,1,1998,23,1,1998,'DAYS MONTHS YEARS')
- SAY YEARS || "Y" MONTHS || "M" DAYS || "D"
- SAY DATE_HEISRANGEDIFF(1,1,1998,23,1,1998,'DAYS MONTHS YEARS')
- SAY YEARS || "Y" MONTHS || "M" DAYS || "D"
-
- /* New 33.310 functions */
-
- SAY DATE_LEAPYEAR(1900,DATE_CALENDAR_GREGORIAN)
- SAY DATE_MONTHDAYS(8,1996,DATE_CALENDAR_GREGORIAN)
- SAY DATE_LASTMONTHDAY(8,1996,DATE_CALENDAR_GREGORIAN)
- SAY DATE_YEARDAYS(1996,DATE_CALENDAR_GREGORIAN)
- SAY DATE_DAYDIFF(20,8,1996,11,9,1996,DATE_CALENDAR_GREGORIAN)
- SAY DATE_WEEKDAY(20,8,1996,DATE_CALENDAR_GREGORIAN)
- SAY DATE_DAYSBEFOREWEEKDAY(20,8,1996,DATE_WEEKDAYS_MONDAY,DATE_CALENDAR_GREGORIAN)
- SAY DATE_DAYSAFTERWEEKDAY(20,8,1996,DATE_WEEKDAYS_MONDAY,DATE_CALENDAR_GREGORIAN)
- SAY DATE_YEARTOSCALIGER(1996,DATE_CALENDAR_GREGORIAN)
- SAY DATE_SCALIGERYEARTOYEAR(6709,DATE_CALENDAR_GREGORIAN)
- SAY DATE_SYEARTOJD(6709,DATE_CALENDAR_GREGORIAN)
- SAY DATE_DATETOJD(20,8,1996,DATE_CALENDAR_GREGORIAN)
- SAY DATE_WEEK(20,8,1996,DATE_CALENDAR_GREGORIAN)
- SAY DATE_VALIDDATE(20,8,1996,DATE_CALENDAR_GREGORIAN)
-
- SAY DATE_NEXTVALIDDATE(29,2,1997,DATE_CALENDAR_GREGORIAN)
- SAY DATE_NEXTVALIDDATE(29,2,1997,'DAY MONTH YEAR',DATE_CALENDAR_GREGORIAN)
- SAY DAY || "." || MONTH || "." || YEAR
-
- SAY DATE_PREVIOUSVALIDDATE(29,2,1997,DATE_CALENDAR_GREGORIAN)
- SAY DATE_PREVIOUSVALIDDATE(29,2,1997,'DAY MONTH YEAR',DATE_CALENDAR_GREGORIAN)
- SAY DAY || "." || MONTH || "." || YEAR
-
- SAY DATE_EASTER(1996,DATE_CALENDAR_GREGORIAN)
- SAY DATE_EASTER(1996,'DAY MONTH',DATE_CALENDAR_GREGORIAN)
- SAY DAY || "." || MONTH || "."
-
- SAY DATE_JDTODATE(2450084,DATE_CALENDAR_GREGORIAN)
- SAY DATE_JDTODATE(2450084,'DAY MONTH YEAR',DATE_CALENDAR_GREGORIAN)
- SAY DAY || "." || MONTH || "." || YEAR
-
- SAY DATE_WWTODM(DATE_WEEKDAYS_SUNDAY,16,1997,DATE_CALENDAR_GREGORIAN)
- SAY DATE_WWTODM(DATE_WEEKDAYS_SUNDAY,16,1997,'DAY MONTH YEAR',DATE_CALENDAR_GREGORIAN)
- SAY DAY || "." || MONTH || "." || YEAR
-
- SAY DATE_DIFFDATERANGE(23,1,1998,0,0,1,DATE_CALENDAR_GREGORIAN)
- SAY DATE_DIFFDATERANGE(23,1,1998,0,0,1,'DAY MONTH YEAR',DATE_CALENDAR_GREGORIAN)
- SAY DAY || "." || MONTH || "." || YEAR
-
- SAY DATE_RANGEDIFF(1,1,1998,23,1,1998,DATE_CALENDAR_GREGORIAN)
- SAY DATE_RANGEDIFF(1,1,1998,23,1,1998,'DAYS MONTHS YEARS',DATE_CALENDAR_GREGORIAN)
- SAY YEARS || "Y" MONTHS || "M" DAYS || "D"
-
-
- /* EXAMPLE CODE FOR DATETIME_ FUNCTIONS */
-
- /* THE FOLLOWING FUNCTION HAS TWO RETURN PARAMETERS! */
- /* THE FIRST FORM RETURNS ALL WITHIN A STRING (GMT JD, GMT seconds) */
-
- /* local JD, local seconds, DST, zonemin */
- SAY DATETIME_LOCALTOGMT(2450920,62100,1,+60)
- SAY DATETIME_LOCALTOGMT(2450920,62100,1,+60,'JD SECS')
- SAY JD || ":" || SECS
-
- /* THE FOLLOWING FUNCTION HAS THREE RETURN PARAMETERS! */
- /* THE FIRST FORM RETURNS ALL WITHIN A STRING (GMT JD, GMT seconds, DST) */
-
- /* GMT JD, GMT seconds, zonemin, ChangePrevDay, ChangeDay, ChangeNextDay, ChangeHour, DST */
- SAY DATETIME_GMTTOLOCAL(2450920,54900,+60,TIME_CHANGEDAY_NORMAL,TIME_CHANGEDAY_NORMAL,TIME_CHANGEDAY_NORMAL,2,1)
- SAY DATETIME_GMTTOLOCAL(2450920,54900,+60,TIME_CHANGEDAY_NORMAL,TIME_CHANGEDAY_NORMAL,TIME_CHANGEDAY_NORMAL,2,1,'JD SECS DST')
- SAY JD || ":" || SECS || ":" || DST
-
- SYNTAX:
-
- IF (RC ~= "RC") & (RC > 0) THEN DO
- SAY "RC:" RC
- SAY "Line:" SIGL
- IF RC = 15 THEN DO
- SAY "Maybe you have installed the light version of the '" || DATE_NAME || "' which does not support ARexx!"
- END
- END
- IF DATE_OPEN = 0 THEN DO
- IF ~REMLIB(DATE_NAME) THEN DO
- SAY "Can not remove '" || DATE_NAME || "'"
- END
- END
- EXIT 0
-
-
- DATE_INIT:
- DATE_NAME = 'date.library'
- DATE_VERSION = 33
- DATE_REVISION = 310
- DATE_DISPATCHER = -492
-
- ADDRESS COMMAND
- 'VERSION' DATE_NAME DATE_VERSION DATE_REVISION '>NIL:'
- IF RC > 0 THEN DO
- SAY "Need '" || DATE_NAME || "'" DATE_VERSION || "." || DATE_REVISION
- RETURN(10)
- END
-
- IF ~SHOW('LIBRARIES',DATE_NAME) THEN DO
- IF ~ADDLIB(DATE_NAME,0,DATE_DISPATCHER,DATE_VERSION) THEN DO
- SAY "Can not add '" || DATE_NAME || "'" DATE_VERSION || "." || DATE_REVISION
- RETURN(10)
- END
- DATE_OPEN = 0
- END
- ELSE DO
- DATE_OPEN = 1
- END
-
- /* Constant definitions */
- TIME_CHANGEDAY_NORMAL = 0
- TIME_CHANGEDAY_WINTERTOSUMMER = 1
- TIME_CHANGEDAY_SUMMERTOWINTER = 2
-
- DATE_MOONPHASES_NEWMOON = 0
- DATE_MOONPHASES_FIRSTQUARTER = 1
- DATE_MOONPHASES_FULLMOON = 2
- DATE_MOONPHASES_LASTQUARTER = 3
-
- DATE_WEEKDAYS_DAYERR = 0
- DATE_WEEKDAYS_MONDAY = 1
- DATE_WEEKDAYS_TUESDAY = 2
- DATE_WEEKDAYS_WEDNESDAY = 3
- DATE_WEEKDAYS_THURSDAY = 4
- DATE_WEEKDAYS_FRIDAY = 5
- DATE_WEEKDAYS_SATURDAY = 6
- DATE_WEEKDAYS_SUNDAY = 7
-
- DATE_DATETEXTS_DAY = 0
- DATE_DATETEXTS_MONTH = 1
- DATE_DATETEXTS_YEAR = 2
- DATE_DATETEXTS_WEEK = 3
- DATE_DATETEXTS_WEEKDAY = 4
- DATE_DATETEXTS_HOUR = 5
- DATE_DATETEXTS_MINUTE = 6
- DATE_DATETEXTS_SECOND = 7
- DATE_DATETEXTS_YESTERDAY = 8
- DATE_DATETEXTS_TODAY = 9
- DATE_DATETEXTS_TOMORROW = 10
-
- DATE_WORDCLASS_SINGULAR = 0
- DATE_WORDCLASS_PLURAL = 1
- DATE_WORDCLASS_PERIODICAL = 2
-
- DATE_LANGUAGES_LOCALE = 0
- DATE_LANGUAGES_ENGLISH = 1
- DATE_LANGUAGES_GERMAN = 2
- DATE_LANGUAGES_FRENCH = 3
- DATE_LANGUAGES_SPANISH = 4
- DATE_LANGUAGES_PORTUGUESE = 5
- DATE_LANGUAGES_DANISH = 6
- DATE_LANGUAGES_ITALIAN = 7
- DATE_LANGUAGES_DUTCH = 8
- DATE_LANGUAGES_NORWEGIAN = 9
- DATE_LANGUAGES_SWEDISH = 10
- DATE_LANGUAGES_POLISH = 11
- DATE_LANGUAGES_FINNISH = 12
- DATE_LANGUAGES_HUNGARIAN = 13
- DATE_LANGUAGES_GREEK = 14
- DATE_LANGUAGES_ESPERANTO = 15
- DATE_LANGUAGES_TURKISH = 16
- DATE_LANGUAGES_LATIN = 17
- DATE_LANGUAGES_RUSSIAN = 18
- DATE_LANGUAGES_CZECH = 19
- DATE_LANGUAGES_CATALONIAN = 20
- DATE_LANGUAGES_SERBIAN = 21
- DATE_LANGUAGES_LASTLANGUAGE = 22
-
- DATE_COUNTRIES_UNKNOWN = 0
- DATE_COUNTRIES_ITALIA = 1
- DATE_COUNTRIES_DEUTSCHLAND = 2
- DATE_COUNTRIES_SCHWEIZ = 3
- DATE_COUNTRIES_DANMARK = 4
- DATE_COUNTRIES_NEDERLAND = 5
- DATE_COUNTRIES_GREATBRITAIN = 6
- DATE_COUNTRIES_USA = 7
- DATE_COUNTRIES_SWEDEN = 8
-
- DATE_CALENDARS_JULIAN = 0
- DATE_CALENDARS_GREGORIAN = 1
- DATE_CALENDARS_HEIS = 2
-
- RETURN(0)
-